split csv lines as QStrings and return a list of all fields. (#332)
authortsteven4 <tsteven4@users.noreply.github.com>
Fri, 5 Apr 2019 14:43:38 +0000 (08:43 -0600)
committerGitHub <noreply@github.com>
Fri, 5 Apr 2019 14:43:38 +0000 (08:43 -0600)
commitf890a1fb364faae6a1a683562178138cea625613
tree30f8ffaba51a1a77beba0d38445dbd9bf7939be8
parent281597315fe0b920887d3483d0286d07993fbe7a
split csv lines as QStrings and return a list of all fields. (#332)

* introdcue csv_linesplit

Which is like csv_lineparse, except it gives you a list
of all the values, and it processing the line as a QString.

* introduce gpsbabel::TextStream, use it

in unicsv reader, ozi.

* convert unicsv writer to textstream.

* if a codec is not found list available.

* switch unicsv to CET_CHARSET_UTF8 to avoid

undesired fs conversions.  All conversions are
handled by the codec used by qtextstream.

* output boms with non utf8 unicode codecs.

* use rfc4180 dequote method with unicsv.

* add test for csv quoting w RFC4180.
17 files changed:
CMakeLists.txt
GPSBabel.pro
Makefile.in
csv_util.cc
csv_util.h
defs.h
main.cc
ozi.cc
reference/libreoffice.csv [new file with mode: 0755]
reference/libreoffice.text [new file with mode: 0644]
src/core/textstream.cc [new file with mode: 0644]
src/core/textstream.h [new file with mode: 0644]
testo.d/unicsv.test
unicsv.cc
util.cc
xcsv.cc
xmldoc/formats/options/unicsv-codec.xml [new file with mode: 0644]